#include "jsonparser.h"

JsonParser::JsonParser(QObject *parent) :
    QObject(parent)
{
    QFile json("_data/json.txt");
    if(json.open(QIODevice::ReadOnly))
    {
        QJsonParseError  parseError;
        QJsonDocument jsonDoc = QJsonDocument::fromJson(json.readAll(), &parseError);
        if(parseError.error == QJsonParseError::NoError)
        {
            if(jsonDoc.isObject())
            {
                parse(jsonDoc.object());
            }
        }else
        {
            qDebug()<<parseError.errorString();
        }

    }else
    {
        qDebug()<<"json.txt not open";
    }

}
void JsonParser::printArray(QJsonArray array)
{
    for(auto iter = array.begin();iter!=array.end();  ++iter)
    {
        qDebug()<<(*iter).toString();
    }
}

void JsonParser::getByte(QByteArray* ba)
{
    qDebug()<<*(ba);
}

void JsonParser::parse(QJsonObject jsonObject)
{
    qDebug()<<"Keys";
    for(auto iter = jsonObject.begin();iter!=jsonObject.end();  ++iter)
    {
        qDebug()<<iter.key();
    }
    qDebug()<<"-------------------";
    qDebug()<<"FirstName "<<jsonObject["FirstName"].toString();
    qDebug()<<"-------------------";
    qDebug()<<"Phones :";
    printArray (jsonObject["Phone numbers"].toArray());

}
